Software application programs have long been used to perform tasks for computer users. For example, via use of a corresponding computer, a user can launch an application program such as a word processor application to modify or create a text-based file. To initiate execution of the application program, the user clicks on an icon of a computer display screen to launch the application program. Typically, the user must wait several seconds or even several minutes before the application program to be launched on the computer. Via the graphical user interface on the display screen, the user can supply commands (such as open a file, delete text, etc.) to the application program and in order to perform different functions supported by the application program. In response to receiving the commands issued by the user, the application program performs a respective function such as opening a file, deleting or adding text, etc.
Application programs that run on computers as discussed above are typically derived from so-called source code. Initially, a developer (e.g., a group of software engineers) generates source code via a particular programming language such as C, C++, etc. Thereafter, the developer derives a respective application program from the source code via a translation process. The translation process involves converting the source code into so-called machine language that can be understood by a computer.
The first step of the translation process is usually performed by a utility known as a compiler. The compiler translates the source code into machine code that is stored in files called object files. A so-called linker combines the object files into an executable application program. A so-called link order file used by the linker identifies an ordering of how the functions in the source code shall be stored in the application program.
Source code typically includes variables and functions. The variables are commonly assigned descriptive names and enable a programmer to keep track of data values (e.g., character strings, numbers, etc.) used by the functions. In addition to references associated with the variables, the functions in the source code include one or more instructions to carry out specific tasks associated with a respective application program.
Source code can include declarations of different types of variables such as local, static, and global types of variables. A global variable as defined in the main body of source code can be accessed by any of one or more functions associated with the source code. On the other hand, local variables are defined in a respective function to which the local variable pertains and generally cannot be accessed by other functions in the source code. Instead, local variables can be accessed only by accessed by the respective function to which the local variable pertains. Thus, variables can be declared as local or global variables depending on the purpose that they serve in a respective program.